As illustrated in FIG. 14, the TCP/IP network has been, on its early stage, constructed such that all host nodes have global addresses, and can mutually reach each other. Hereinafter, such a mutually reachable network as mentioned above is referred to as global network.
However, in recent years, in view of restraint of consumption of the IP addresses and the like, various organizations have built own TCP/IP networks utilizing private address spaces. Hereinafter, such a network built using a private address space as mentioned above is referred to as private network.
FIG. 15 is an explanatory diagram illustrating a configuration example of an interconnection between a private network and a global network. As illustrated in FIG. 15, in order to connect the private network and the global network with each other, address translations such as network address translator (NAT), network address and port translator (NAPT), transport relay based on SOCKS (RFC 1928), application level gateway (ALG) such as an HTTP proxy server are used. Hereinafter, such devices for translating addresses for mutually connecting networks having different address spaces are generally referred to as address translation device.
Incidentally, the Internet has recently become widely used, and hence the consumption of the global IP addresses has rapidly increased. The number of the global IP addresses is limited. Hence, it is anticipated that, in the near future, all the global IP addresses will be assigned, and the global addresses will be exhausted.
When the above-mentioned state arises, for connecting a new host node to a TCP/IP network, it is only possible to connect the host node to the above-mentioned private network, to assign a private address to the host node, and to cause the host node to perform communication, via an address translation device, with devices in the global network and other private networks.
Moreover, even if the global addresses are not yet exhausted, when host nodes to be connected increase while the consumption of the global addresses is restrained, the sizes of private networks increase accordingly, and the number of host nodes in a private network per global IP address assigned to the address translation device increases (refer to FIG. 16).
When this state progresses, it is anticipated next that exhaustion of port numbers used by protocols in the transport layer such as TCP and UDP poses a problem.
Port numbers of major protocols in the transport layer (TCP, UDP, SCTP, and DCCP) are data of 16 bits in length, and hence count approximately 65 thousand. According to the NAPT and the ALG, even when one global address is used, by individually assigning a port number to a host node on the private network side, a large number of host nodes in the private network can simultaneously communicate with the global network.
According to the NAPT and the ALG, the assignment of the port number is carried out in the following way, for example. Methods of assignment depend on the direction of the communication, and the assignment is carried out respectively for “sending” used for establishing connection to a specified party, and “listening” used for accepting connection from an unspecified party to an own specific port. The connection partner for this connection is usually identified by a combination of an address and a port number of a corresponding node. Hereinafter, the destination of the connection identified by the combination of the address and the port number is referred to as endpoint of connection.
For listening, connections from unspecified connection sources are accepted, and hence the port number is occupied for all corresponding endpoints (refer to FIG. 17). In FIG. 17, for example, a port 80 used for listening for a global network is occupied by a host node 2-1 in a private network. On the other hand, for sending, it is only necessary to assign a port number to an endpoint of a specific connection destination, and the same port number can be used for other connections for different endpoints (refer to FIG. 18). In FIG. 18, for example, a port 49153 used for sending from a private network is used in common by host nodes 2-1, 2-2, and 2-3 in a private network respectively communicating with different host nodes 1-2, 1-3, and 1-4 in the global network. Therefore, the resources of the port numbers are generally consumed more for listening than for sending.
Moreover, according to the transport relay, the NAPT, and the like, a port for listening also serves to relay connections from unspecified corresponding endpoints. Moreover, a port for sending serves to assign a specific port number to sending from an endpoint of an unspecified host in a private network, thereby relaying the sending to a global network side. Thus, these methods for assigning ports are the same as the methods mentioned above.
On this occasion, when the number of host nodes for listening in the private network increases, ports in an address translation device may be exhausted for listening. When the ports in the address translation device are exhausted for listening, the sending from the private network side becomes no longer available.
Usually, by assigning ports for listening while a certain number of free ports are reserved for sending, the status in which the sending becomes impossible is prevented.
It should be noted that, relating to the technology for using ports of an address translation device, for example, Patent Document 1 describes that a stream server apparatus provided in a LAN holds an address management table containing real port information representing information on ports (discrimination between a static port and a dynamic port, and available port numbers) prepared by a NAS device for transmission/reception of protocol packets.
Moreover, Patent Document 2 describes that, in order to efficiently acquire a listening port number, by using an uniquely assigned own identification information and a common function, a listening port number is set, and a listening port number is reset by acquiring a common function out of a plurality of common functions in every certain period.
Patent Document 1: Japanese Unexamined Patent Application Publication (JPA) No. 2004-259225 (paragraphs 0115-0125 and FIG. 9)
Patent Document 2: Japanese Unexamined Patent Application Publication (JPA) No. 2006-319384 (paragraphs 0011 and 0017)